
#include "MANAGMENT.h"
#include "PL1167.h"



//u16 						 yy;
//u8  						 Sp1;
BitStatus  Auto_mode,Start_Send,Stop_Send;
u8				 cn,Start_Send_Time,Stop_Send_Time;
u16				 ii;
u8				 auto_cn;         
u8  code   Speed_table[16]={90,90,80,70,60,50,40,30,20,10,8,8,8,8,8,8};
static  void Auto_fun(u8 cl)
{
//	static u8 Fcn;
	if(ct>cl)
	{
		auto_cn++;
		ct=0;
	}
}
#pragma OPTIMIZE(9)
void managment()
{
	static  u16 demo_cn,Speed_val;
	max_p=128;
	min_p=1;
	Speed_val=Speed_table[Speed_class]; 
	//Speed_val=Speed_val<<1;
	switch(mode)
	{
	////////////////////////////////////////
		case 0:
					
					//temp.W=DIMW;
					break;
		case 1://3???
				if(yy>Speed_val)
				{
					
					yy=0;
						
					     if(ct==0){temp.R=ii;temp.G=0;temp.B=0;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==1){temp.R=ii;temp.G=0;temp.B=0;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==2){temp.R=0;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==3){temp.R=0;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==4){temp.R=0;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==5){temp.R=0;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					
					if((ii==0)||(ii>=max_p))
					{
						ct++;
						if(ct%2)ii=max_p;
						else ii=0;
						if(ct>5){ct=0;if(Auto_mode)mode++;}	
					}
				}
					break;
		case 2://7???
				if(yy>Speed_val)
				{
					
					yy=0;
						
					     if(ct==0){temp.R=ii;temp.G=0;temp.B=0;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==1){temp.R=ii;temp.G=0;temp.B=0;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==2){temp.R=0;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==3){temp.R=0;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==4){temp.R=0;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==5){temp.R=0;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==6){temp.R=ii;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==7){temp.R=ii;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==8){temp.R=0;temp.G=ii;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==9){temp.R=0;temp.G=ii;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==10){temp.R=ii;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==11){temp.R=ii;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==12){temp.R=ii;temp.G=ii;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==13){temp.R=ii;temp.G=ii;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					
					if((ii==0)||(ii>=max_p))
					{
						ct++;
						if(ct%2)ii=max_p;
						else ii=0;
						if(ct>13){ct=0;if(Auto_mode)mode++;}	
					}
				}
					break;
    case 3://????
				if(yy>Speed_val)
				{
					yy=0;
					     if(ct==0){temp.R=ii;temp.G=ii;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==1){temp.R=ii;temp.G=ii;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					
					if((ii==0)||(ii>=max_p))
					{
						ct++;
						if(ct%2)ii=max_p;
						else ii=0;
						if(ct>1){ct=0;if(Auto_mode)mode++;}	
					}
				}
					break;
    case 4://W??
				if(yy>Speed_val)
				{
					yy=0;
					     if(ct==0){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii+min_p;}//
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii-min_p;}//
					
					if((ii==0)||(ii>=max_p))
					{
						ct++;
						if(ct%2)ii=max_p;
						else ii=0;
						if(ct>1){ct=0;if(Auto_mode)mode++;}	
					}
				}
					break;	
    case 5://C??
				if(yy>Speed_val)
				{
					yy=0;
					     if(ct==0){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii+min_p;}//
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii-min_p;}//
					
					if((ii==0)||(ii>=max_p))
					{
						ct++;
						if(ct%2)ii=max_p;
						else ii=0;
						if(ct>1){ct=0;if(Auto_mode)mode++;}	
					}
				}
					break;
    case 6://W C ??
				if(yy>Speed_val)
				{
					yy=0;
					     if(ct==0){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii+min_p;}//
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii-min_p;}//
					else if(ct==2){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii+min_p;}//
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii-min_p;}//
					
					if((ii==0)||(ii>=max_p))
					{
						ct++;
						if(ct%2)ii=max_p;
						else ii=0;
						if(ct>3){ct=0;if(Auto_mode)mode++;}	
					}
				}
					break;					
		case 7://R+W+C ????
				if(yy>Speed_val)
				{
					
					yy=0;
						
					     if(ct==0){temp.R=ii;temp.G=0;temp.B=0;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==1){temp.R=ii;temp.G=0;temp.B=0;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==2){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii+min_p;}//
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii-min_p;}//
					else if(ct==4){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii+min_p;}//
					else if(ct==5){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii-min_p;}//
					
					if((ii==0)||(ii>=max_p))
					{
						ct++;
						if(ct%2)ii=max_p;
						else ii=0;
						if(ct>5){ct=0;if(Auto_mode)mode++;}	
					}
				}
					break;
		case 8://G+W+C ????
				if(yy>Speed_val)
				{
					yy=0;
					     if(ct==0){temp.R=0;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==1){temp.R=0;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==2){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii+min_p;}//
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii-min_p;}//
					else if(ct==4){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii+min_p;}//
					else if(ct==5){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii-min_p;}//
					
					if((ii==0)||(ii>=max_p))
					{
						ct++;
						if(ct%2)ii=max_p;
						else ii=0;
						if(ct>5){ct=0;if(Auto_mode)mode++;}	
					}
				}
					break;	
    case 9://B+W+C ????
				if(yy>Speed_val)
				{
					yy=0;
					     if(ct==0){temp.R=0;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==1){temp.R=0;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==2){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii+min_p;}//
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii-min_p;}//
					else if(ct==4){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii+min_p;}//
					else if(ct==5){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii-min_p;}//
					
					if((ii==0)||(ii>=max_p))
					{
						ct++;
						if(ct%2)ii=max_p;
						else ii=0;
						if(ct>5){ct=0;if(Auto_mode)mode++;}	
					}
				}
					break;
    case 10://3?+W+C????
				if(yy>Speed_val)
				{
					yy=0;
					     if(ct==0){temp.R=ii;temp.G=0;temp.B=0;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==1){temp.R=ii;temp.G=0;temp.B=0;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==2){temp.R=0;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==3){temp.R=0;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==4){temp.R=0;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//
					else if(ct==5){temp.R=0;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==6){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii+min_p;}//
					else if(ct==7){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii-min_p;}//
					else if(ct==8){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii+min_p;}//
					else if(ct==9){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii-min_p;}//
					
					if((ii==0)||(ii>=max_p))
					{
						ct++;
						if(ct%2)ii=max_p;
						else ii=0;
						if(ct>9){ct=0;if(Auto_mode)mode++;}	
					}
				}
					break;	
    case 11://7?+W+C????
				if(yy>Speed_val)
				{
					yy=0;
					     if(ct==0){temp.R=ii;temp.G=0;temp.B=0;temp.C=0;temp.W=0;ii=ii+min_p;}//?
					else if(ct==1){temp.R=ii;temp.G=0;temp.B=0;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==2){temp.R=0;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii+min_p;}//?
					else if(ct==3){temp.R=0;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==4){temp.R=0;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//?
					else if(ct==5){temp.R=0;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==6){temp.R=ii;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii+min_p;}//?
					else if(ct==7){temp.R=ii;temp.G=ii;temp.B=0;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==8){temp.R=0;temp.G=ii;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//?
					else if(ct==9){temp.R=0;temp.G=ii;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==10){temp.R=ii;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//?
					else if(ct==11){temp.R=ii;temp.G=0;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==12){temp.R=ii;temp.G=ii;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//RGB
					else if(ct==13){temp.R=ii;temp.G=ii;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					
					else if(ct==14){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii+min_p;}//??
					else if(ct==15){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii-min_p;}//
					else if(ct==16){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii+min_p;}//??
					else if(ct==17){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii-min_p;}//
					
					if((ii==0)||(ii>=max_p))
					{
						ct++;
						if(ct%2)ii=max_p;
						else ii=0;
						if(ct>17){ct=0;if(Auto_mode)mode++;}	
					}
				}
				break;					
    case 12://?(RGB)+W+C????
				if(yy>Speed_val)
				{
					
					yy=0;
						
					     if(ct==0){temp.R=ii;temp.G=ii;temp.B=ii;temp.C=0;temp.W=0;ii=ii+min_p;}//RGB?
					else if(ct==1){temp.R=ii;temp.G=ii;temp.B=ii;temp.C=0;temp.W=0;ii=ii-min_p;}//
					else if(ct==2){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii+min_p;}//??
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=ii;ii=ii-min_p;}//
					else if(ct==4){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii+min_p;}//??
					else if(ct==5){temp.R=0;temp.G=0;temp.B=0;temp.C=ii;temp.W=0;ii=ii-min_p;}//
					
					if((ii==0)||(ii>=max_p))
					{
						ct++;
						if(ct%2)ii=max_p;
						else ii=0;
						if(ct>5){ct=0;if(Auto_mode)mode++;}	
					}
				}
				break;					
	  case 13: //RGB????

				if(yy>100)
				{
					yy=0;
					Sp1++;
				}
				if(Sp1>Speed_val)
				{
					Sp1=0;
							 if(ct==0){temp.R=max_p;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==1){temp.R=0;temp.G=max_p;temp.B=0;temp.C=0;temp.W=0;}//??		 
					else if(ct==2){temp.R=0;temp.G=0;temp.B=max_p;temp.C=0;temp.W=0;}//??
					ct++;
					if(Auto_mode)
					{
						if(ct>2)
						{mode++;ct=0;}
					}
					else if(ct>2){ct=0;}	
				}
					break;	
		case 14: //RGB????

				if(yy>100)
				{
					yy=0;
					Sp1++;
				}
				if(Sp1>Speed_val)
				{
					Sp1=0;
							 if(ct==0){temp.R=max_p;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==1){temp.R=0;temp.G=max_p;temp.B=0;temp.C=0;temp.W=0;}//??		 
					else if(ct==2){temp.R=0;temp.G=0;temp.B=max_p;temp.C=0;temp.W=0;}//??
					else if(ct==3){temp.R=max_p;temp.G=max_p;temp.B=0;temp.C=0;temp.W=0;}//??		 
					else if(ct==4){temp.R=0;temp.G=max_p;temp.B=max_p;temp.C=0;temp.W=0;}//??
					else if(ct==5){temp.R=max_p;temp.G=0;temp.B=max_p;temp.C=0;temp.W=0;}//??		 
					else if(ct==6){temp.R=max_p;temp.G=max_p;temp.B=max_p;temp.C=0;temp.W=0;}//??
					
					ct++;
					if(Auto_mode)
					{
						if(ct>6)
						{mode++;ct=0;}
					}
					else if(ct>6){ct=0;}	
				}
					break;
		  case 15: //?(RGB)??

				if(yy>100)
				{
					yy=0;
					Sp1++;
				}
				if(Sp1>Speed_val)
				{
					Sp1=0;
					
							 if(ct==0){temp.R=max_p;temp.G=max_p;temp.B=max_p;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??		 
				  else if(ct==2){temp.R=max_p;temp.G=max_p;temp.B=max_p;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??		
					ct++;
					if(Auto_mode)
					{
						if(ct>3)
						{mode++;ct=0;}
					}
					else if(ct>3){ct=0;}	
				}
					break;
      case 16: //W??

				if(yy>100)
				{
					yy=0;
					Sp1++;
				}
				if(Sp1>Speed_val)
				{
					Sp1=0;
							 if(ct==0){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=max_p;}//?~{(,~}
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??		 
					else if(ct==2){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=max_p;}//??
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					else if(ct==4){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=max_p;}//??
					else if(ct==5){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					ct++;
					if(Auto_mode)
					{
						if(ct>5)
						{mode++;ct=0;}
					}
					else if(ct>5){ct=0;}	
				}
					break;					
			case 17: //C??

				if(yy>100)
				{
					yy=0;
					Sp1++;
				}
				if(Sp1>Speed_val)
				{
					Sp1=0;
							 if(ct==0){temp.R=0;temp.G=0;temp.B=0;temp.C=max_p;temp.W=0;}//?~{(,~}
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??		 
					else if(ct==2){temp.R=0;temp.G=0;temp.B=0;temp.C=max_p;temp.W=0;}//??
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					else if(ct==4){temp.R=0;temp.G=0;temp.B=0;temp.C=max_p;temp.W=0;}//??
					else if(ct==5){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					ct++;
					if(Auto_mode)
					{
						if(ct>5)
						{mode++;ct=0;}
					}
					else if(ct>5){ct=0;}	
				}
					break;	
    	case 18: //C+W ??

				if(yy>100)
				{
					yy=0;
					Sp1++;
				}
				if(Sp1>Speed_val)
				{
					Sp1=0;
							 if(ct==0){temp.R=0;temp.G=0;temp.B=0;temp.C=max_p;temp.W=0;}//?~{(,~}
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??		 
					else if(ct==2){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=max_p;}//??
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??

					ct++;
					if(Auto_mode)
					{
						if(ct>3)
						{mode++;ct=0;}
					}
					else if(ct>3){ct=0;}	
				}
					break;			
		case 19: //R+W+C??

				if(yy>100)
				{
					yy=0;
					Sp1++;
				}
				if(Sp1>Speed_val)
				{
					Sp1=0;
					
							 if(ct==0){temp.R=max_p;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??		 
					else if(ct==2){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=max_p;}//??
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					else if(ct==4){temp.R=0;temp.G=0;temp.B=0;temp.C=max_p;temp.W=0;}//??
					else if(ct==5){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					ct++;
					if(Auto_mode)
					{
						if(ct>5)
						{mode++;ct=0;}
					}
					else if(ct>5){ct=0;}	
				}
					break;
    case 20: //G+W+C??

				if(yy>100)
				{
					yy=0;
					Sp1++;
				}
				if(Sp1>Speed_val)
				{
					Sp1=0;
					
							 if(ct==0){temp.R=0;temp.G=max_p;temp.B=0;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??		 
					else if(ct==2){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=max_p;}//??
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					else if(ct==4){temp.R=0;temp.G=0;temp.B=0;temp.C=max_p;temp.W=0;}//??
					else if(ct==5){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					ct++;
					if(Auto_mode)
					{
						if(ct>5)
						{mode++;ct=0;}
					}
					else if(ct>5){ct=0;}	
				}
					break;
		 case 21: //B+W+C??

				if(yy>100)
				{
					yy=0;
					Sp1++;
				}
				if(Sp1>Speed_val)
				{
					Sp1=0;
							 if(ct==0){temp.R=0;temp.G=0;temp.B=max_p;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??		 
					else if(ct==2){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=max_p;}//??
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					else if(ct==4){temp.R=0;temp.G=0;temp.B=0;temp.C=max_p;temp.W=0;}//??
					else if(ct==5){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					ct++;
					if(Auto_mode)
					{
						if(ct>5)
						{mode++;ct=0;}
					}
					else if(ct>5){ct=0;}	
				}
					break;	
     case 22: //R+G+B+W+C??

				if(yy>100)
				{
					yy=0;
					Sp1++;
				}
				if(Sp1>Speed_val)
				{
					Sp1=0;
							 if(ct==0){temp.R=max_p;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??	
          else if(ct==2){temp.R=0;temp.G=max_p;temp.B=0;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??			
          else if(ct==4){temp.R=0;temp.G=0;temp.B=max_p;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==5){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??						
					else if(ct==6){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=max_p;}//??
					else if(ct==7){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					else if(ct==8){temp.R=0;temp.G=0;temp.B=0;temp.C=max_p;temp.W=0;}//??
					else if(ct==9){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					ct++;
					if(Auto_mode)
					{
						if(ct>9)
						{mode++;ct=0;}
					}
					else if(ct>9){ct=0;}	
				}
					break;	
     	case 23: //7?+W+C??

				if(yy>100)
				{
					yy=0;
					Sp1++;
				}
				if(Sp1>Speed_val)
				{
					Sp1=0;
							 if(ct==0){temp.R=max_p;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??	
          else if(ct==2){temp.R=0;temp.G=max_p;temp.B=0;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??		
					else if(ct==4){temp.R=0;temp.G=0;temp.B=max_p;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==5){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??	
          else if(ct==6){temp.R=max_p;temp.G=max_p;temp.B=0;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==7){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??		
          else if(ct==8){temp.R=0;temp.G=max_p;temp.B=max_p;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==9){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??		
          else if(ct==10){temp.R=max_p;temp.G=0;temp.B=max_p;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==11){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??		
          else if(ct==12){temp.R=max_p;temp.G=max_p;temp.B=max_p;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==13){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??						
					
					else if(ct==14){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=max_p;}//??
					else if(ct==15){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					else if(ct==16){temp.R=0;temp.G=0;temp.B=0;temp.C=max_p;temp.W=0;}//??
					else if(ct==17){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					ct++;
					if(Auto_mode)
					{
						if(ct>17)
						{mode++;ct=0;}
					}
					else if(ct>17){ct=0;}	
				}
					break;
      case 24: //RGB(??)+W+C??

				if(yy>100)
				{
					yy=0;
					Sp1++;
				}
				if(Sp1>Speed_val)
				{
					Sp1=0;
							 if(ct==0){temp.R=max_p;temp.G=max_p;temp.B=max_p;temp.C=0;temp.W=0;}//?~{(,~}
					else if(ct==1){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??	
					else if(ct==2){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=max_p;}//??
					else if(ct==3){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					else if(ct==4){temp.R=0;temp.G=0;temp.B=0;temp.C=max_p;temp.W=0;}//??
					else if(ct==5){temp.R=0;temp.G=0;temp.B=0;temp.C=0;temp.W=0;}//??
					ct++;
					if(Auto_mode)
					{
						if(ct>5)
						{mode++;ct=0;}
					}
					else if(ct>5){ct=0;}	
				}
					break;	
	    
    							
			case 25://??
				Auto_mode=SET;
				mode=1;
					break;					
			case 26:
					temp.R=max_p;temp.G=max_p;temp.B=max_p;
					
					if(On_offCW)
						temp.C=max_p;
			    if(On_offWW)
						temp.W=max_p;		
					//temp.R=dim_val;temp.G=dim_val;temp.B=dim_val;temp.C=dim_val;temp.W=dim_val;
					break;
		  default:
					break;		
		}
}
#pragma OPTIMIZE(9)